---
layout: default
---

<section class="partitioned">
  <div class="part ctr">
    <b>Wed 4:30–6:00pm · Towne 321</b>
    <br>
    &lt;<a href="mailto:%63%69%73%31%39%38%40%63%69%73%2e%75%70%65%6e%6e%2e%65%64%75"
        >&#099;&#105;&#115;&#049;&#057;&#056;&#064;&#099;&#105;&#115;&#046;&#117;&#112;&#101;&#110;&#110;&#046;&#101;&#100;&#117;</a>&gt;
  </div>
</section>
<section class="partitioned">
  <div class="part ctr">
    <b>David Mally</b>
    <div class="small">
      Mon. 4:30pm&ndash;6:00pm
      <br>
      Levine 6 Lounge
    </div>
  </div>
  <div class="part ctr">
    <b>Terry Sun</b>
    <div class="small">
      Tues. 6:00&ndash;7:30pm
      <br>
      Levine 6 Lounge
    </div>
  </div>
  <div class="part ctr">
    <b>Kai Ninomiya</b>
    <div class="small">
      Wed. 6:00pm&ndash;7:00pm
      <br>
      Levine 6 Lounge
    </div>
  </div>
</section>
<section>
  <p><b>Prerequisites:</b></p>
  <ul>
    <li>CIS 120 <em>or</em> exposure to functional programming</li>
    <li>CIS 240 <em>or</em> exposure to C/C++</li>
  </ul>
  <p><b>Resources:</b></p>
  <ul>
    <li><a href="http://doc.rust-lang.org/book/">The Rust Programming Language</a></li>
    <li><a href="http://rustbyexample.com/">Rust By Example</a></li>
  </ul>
  <p><b>Discussion:</b></p>
  <ul>
    <li><a href="https://piazza.com/class/iiksjduyiy773s">Piazza (for Penn students)</a></li>
    <li><a href="https://groups.google.com/forum/#!forum/cis198-public">Google Group (for anyone)</a></li>
  </ul>
</section>
<section>
  <p><a href="http://rust-lang.org/">Rust</a>
  is a new, practical, community-developed systems programming language that
  "runs blazingly fast, prevents almost all crashes, and eliminates data
  races." Rust derives from a rich history of languages to create a
  multi-paradigm (imperative/<wbr>functional), low-level language that focuses on
  high-performance, zero-cost safety guarantees in concurrent programs. It
  began to gain traction in industry even before its official 1.0 release
  in May 2015, showing a recognized need for a new low-level systems
  language.
  </p>

  <p>
  In this course, we will cover what makes Rust so unique and apply it to
  practical systems programming problems. Topics covered will include traits
  and generics; memory safety (move semantics, borrowing, and lifetimes);
  Rust’s rich macro system; closures; and concurrency. Evaluation is based on
  regular homework assignments as well as a final project and class
  participation.
  </p>
</section>
<section>
  <div>
    <iframe src="https://calendar.google.com/calendar/embed?height=400&amp;wkst=1&amp;bgcolor=%23FFFFFF&amp;src=51qp52k47sp4qsmp3he7gur1e8%40group.calendar.google.com&amp;src=mozilla.com_ts4qudb88i0tbjef8rche4a6v4%40group.calendar.google.com&amp;color=%2342104A&amp;ctz=America%2FNew_York" style="border-width:0" width="100%" height="520" scrolling="no"></iframe>
  </div>
</section>
